<!DOCTYPE html>
<html class="client-nojs skin-theme-clientpref-os citizen-feature-autohide-navigation-clientpref-1 citizen-feature-image-dimming-clientpref-0 citizen-feature-pure-black-clientpref-0 citizen-feature-custom-font-size-clientpref-standard citizen-feature-custom-width-clientpref-standard citizen-feature-performance-mode-clientpref-1 citizen-header-position-left citizen-header-position-mobile-bottom" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>RNode recipes</title>
<script id="mwoffliner-jsConfigVars">
document.documentElement.classList.replace('client-nojs', 'client-js')
RLCONF = {"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"RNode_recipes","wgTitle":"RNode recipes","wgCurRevisionId":2522,"wgRevisionId":0,"wgArticleId":13,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["RNode"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"RNode_recipes","wgRelevantArticleId":13,"wgIsProbablyEditable":false,"wgRelevantPageIsProbablyEditable":false,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"all","wgConfirmEditCaptchaNeededForGenericEdit":false,"wgMFDisplayWikibaseDescriptions":{"search":false,"nearby":false,"watchlist":false,"tagline":false},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"zimRelativeFilePath":"./"}
RLSTATE = {"user.options":"loading","site.styles":"ready","noscript":"ready","skins.citizen.styles":"ready","skins.citizen.codex.styles":"ready","skins.citizen.icons":"ready"}
RLPAGEMODULES = ["jquery","mediawiki.base","mediawiki.page.ready"]
;(RLQ = window.RLQ || []).push(function () {
mw.config.set(RLCONF)
mw.loader.state(RLSTATE)
mw.loader.load(RLPAGEMODULES)
;(mw.loader.impl || mw.loader.implement)(function () {
return [
'user.options@12s5i',
function ($, jQuery, require, module) {
mw.user.tokens.set({ patrolToken: '+\\', watchToken: '+\\', csrfToken: '+\\' })
},
]
})
})
</script>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://reticulum.miraheze.org/wiki/RNode_recipes"> <link href="./_mw_/skins.citizen.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.citizen.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.citizen.styles.css" rel="stylesheet" type="text/css"> <script async="" src="./_mw_/startup.js"></script>
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<noscript><link href="./_mw_/noscript.css" rel="stylesheet" type="text/css"/></noscript>
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<script src="./_res_/script.js"></script>
</head>
<body class="mwoffliner-fallback mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-RNode_recipes rootpage-RNode_recipes skin-citizen action-view skin--responsive">
<div id="content" class="mw-body" role="main">
<a id="top"></a>
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">RNode recipes</span></h1>
<div id="bodyContent">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><p>This page has some recipes for building complete RNodes based on common LoRa hardware.
</p>
<div class="mw-heading mw-heading2"><h2 id="Unsigned.io_handheld_RNode">Unsigned.io handheld RNode</h2></div>
<p><span class="mw-default-size" typeof="mw:File/Frameless"><img src="./_assets_/645c0875d8d4af6b8c85c39512036405/Unsigned-rnode.png" decoding="async" loading="lazy" width="300" height="190" class="mw-file-element" data-file-width="788" data-file-height="498"></span>
</p><p><a rel="nofollow" class="external free" href="https://unsigned.io/guides/2023_01_14_Making_A_Handheld_RNode.html">https://unsigned.io/guides/2023_01_14_Making_A_Handheld_RNode.html</a>
</p>
<div class="mw-heading mw-heading2"><h2 id="Simple_case_for_LilyGo_LoRa32_V2.1_RNode">Simple case for LilyGo LoRa32 V2.1 RNode</h2></div>
<p><span class="mw-default-size" typeof="mw:File/Frameless"><img src="./_assets_/645c0875d8d4af6b8c85c39512036405/Lilygo-lora32-v2-1-rnode.png" decoding="async" loading="lazy" width="300" height="169" class="mw-file-element" data-file-width="3840" data-file-height="2160"></span>
</p><p>This build uses the LilyGO LoRa V2.1 to make a complete battery powered RNode using a simple 3D printed case that fits together with no screws required.
</p><p><span class="mw-default-size" typeof="mw:File/Frameless"><img src="./_assets_/645c0875d8d4af6b8c85c39512036405/Lilygo-lora-ttgo-t3-v16-case.jpg" decoding="async" loading="lazy" width="300" height="169" class="mw-file-element" data-file-width="5184" data-file-height="2920"></span>
</p><p><a rel="nofollow" class="external text" href="https://www.printables.com/model/419876-case-for-lilygo-lora-ttgo-t3-v16-case">The case</a>, made by antirez on Printables is a simple snap fit enclosure that is printed in two pieces.
</p><p>For best quality and strength of your print, PLA+ or PETG is recommended. PLA+ is the easiest to work with on most consumer printers and provides moderate temperature resistance and strength.
</p><p>The case fits several types of 3.7 LiPo batteries. The one I used is a 1100 mAh 3.7v battery from brand MakerFocus. The batteries dimensions are 50 mm × 30 mm × 7 mm.
</p><p><b>When connecting batteries to any LoRa device, always check that the polarity on the Micro JST connector matches that on the board</b>. If they are mismatched, you can reverse the polarity on the socket of the MicroJST connector to match that of your board by simply swapping the wires (<a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=za-azgbZor8">YouTube video</a>).
</p>
<div class="mw-heading mw-heading2"><h2 id="Tips">Tips</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Finding_cases_for_your_LoRa_board">Finding cases for your LoRa board</h3></div>
<p>You can find cases to print for LoRa devices on sites like <a rel="nofollow" class="external text" href="https://www.printables.com">Printables</a>, <a rel="nofollow" class="external text" href="https://www.thingiverse.com">Thingiverse</a> and <a rel="nofollow" class="external text" href="https://www.yeggi.com">Yeggi</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Finding_antennas">Finding antennas</h3></div>
<p><a rel="nofollow" class="external text" href="https://www.digikey.com">DigiKey</a> is an electronics distributor that has a section for RF antennas that you can use with LoRa. You can filter antennas by frequency and most products listed will provide you with a datasheet that shows the SWR range.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="RNode" title="RNode">RNode</a></li></ul></div><div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks">Category: <ul><li><a href="Category%3ARNode" title="Category:RNode">RNode</a></li></ul></div></div><!--htdig_noindex--><div><div class="zim-footer">
This page is issued from <a class="external text" title="Last edited on 2026-07-28" href="https://reticulum.miraheze.org/wiki/?title=RNode_recipes&oldid=2522">Reticulum Community Wiki</a>. The text is available under Creative Commons Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</div>
</body></html>